import java.util.*;
import javafx.util.Pair;

class a3{
    public static void main(String[] args) {
        int[][] program=new int[][]{
            {0,1,250},
            {0,3,24},
            {0,2,25},
            {1,3,80},
            {2,3,90}
        };
        Main m=new Main();
        System.out.println(m.solve(2,program));
    
    }
    static class Main{
        private int mMin;
        //已经选的mp中的下标
        //选的下标位置
        //数量
        //已经选的节点
        void dfs(int[] selected,int cnt,int[] mp,int num,int[] nodes,int index,int[][] program){
            if(cnt==num&&mMin>0){
                int tmp=-0x3f3f3f3f;
                for(int i=0;i<cnt;i++){
                    tmp=Math.max(tmp,selected[i]);
                }
                mMin=Math.min(mMin,tmp);
                return;
            }
            for(int i=index;i<=1000;i++){
                if(mp[i]!=0 && cnt <num){
                    int l=program[mp[i]][0];
                    int r=program[mp[i]][1];
                    if(nodes[l]==0 && nodes[r]==0){
                        selected[cnt]=i;
                        nodes[l]=1;
                        nodes[r]=1;
                        dfs(selected,cnt+1,mp,num,nodes,i,program);
                        nodes[l]=0;
                        nodes[r]=0;
                        //cnt--;
                    }
                }
            }
        }


        int solve(int num,int[][] program){
            mMin=0x3f3f3f3f;
            int ans=0;
            int len=program.length;
            
            
            int mp[]=new int[1005]; 
            int selected[]=new int[1005];
            int cnt=0;
            int nodes[]=new int[num*2+5];
            for(int i=0;i<len;i++){
                mp[program[i][2]]=i;
               // selected[cnt++]=i;
            }
           // int nodes[]=new int[num*2+5];
            dfs(selected,0,mp,num,nodes,0,program);
            //int cnt=0;
            //1. 找出所有的num个节目
            // for(int i=2;i<=1000;i++){
            //     if(mp[i]!=0){
            //         int l=program[mp[i]][0];
            //         int r=program[mp[i]][1];
            //         if(nodes[l]==0 && nodes[r]==0){
            //             nodes[l]=1;
            //             nodes[r]=1;
            //             cnt++;
            //         }
            //         if(cnt==num){
            //             ans=i;
            //             break;
            //         }
            //     }
            // }

            return mMin;
        }     

    }

}